Язык Visual C++ .NET является практически единственным в среде .NET, который может генерировать неуправляемый код. Другие языки программирования .NET, такие как С# и VB.NET, способны генерировать только управляемый код. В частности, ключевое слово unsafe (ненадежный, опасный) в С# вообще не связано с генерацией управляемого или неуправляемого исполняемого кода программы. Ключевое слово unsafe (ненадежный, опасный) в С# освобождает среду .NET от автоматического управления памятью, разрешая использование указателей на объект.
Хотя Visual C++ .NET и является единственным языком .NET, который способен
генерировать неуправляемый код, вполне возможно использовать и другие языки
.NET для создания управляемого кода, который взаимодействует с неуправляемым
кодом, независимо от того, является ли этот управляемый код безопасным или же
ненадежным. Например, приложение .NET может вызвать неуправляемые методы СОМ-объектов
посредством использования простых функциональных возможностей упаковщика, а
неуправляемые функции, представленные традиционными динамически подключаемыми
библиотеками (DLL), включая интерфейс 32-разрядных Windows-приложений (Win32
API), доступны посредством функции PInvoke (Platform Invocation Services, Службы